package com.stxx.framwork.filter;

import org.noear.solon.annotation.Component;
import org.noear.solon.core.handle.Context;
import org.noear.solon.core.handle.Handler;
import org.noear.solon.core.route.RouterInterceptor;
import org.noear.solon.core.route.RouterInterceptorChain;

@Component
public class DemoRouterInterceptor implements RouterInterceptor {
    @Override
    public void doIntercept(Context ctx, Handler mainHandler, RouterInterceptorChain chain) throws Throwable {
        //此时：当 mainHandler == null 时，就是没有主处理。
        if(mainHandler == null){
            //如果不需要再继承，就可以当 404 处理并返回了
            ctx.forward("/index.html");
            ctx.setHandled(true); //为了不被过滤器，误会。标为已处理
            return;
        }

        chain.doIntercept(ctx,mainHandler);
    }
}